Method, system and program for specifying an electronic menu with food preferences from a personal storage device

ABSTRACT

Food preferences for a particular customer are retrieved from a personal storage device, wherein the personal storage device is proffered from the particular customer. The food preferences for the particular customer are compared with multiple previously stored food menu items. A food menu is selected wherein the food menu items that satisfy the food preferences for the particular customer are distinguished, such that an electronic food menu is specified for a particular customer.

CROSS-RELATED PATENT APPLICATIONS

The present invention is related to the subject matter of the following commonly assigned, copending U.S. patent applications identified as application Ser. Nos. 09/466,000 and 09/466,051. The content of the above-referenced applications is incorporated herein by reference.

BACKGROUND OF THE INVENTION

1. Technical Field

The present invention relates in general to an improved method, system and program for presenting a food menu electronically, and in particular to a method, system and program for specifying an electronic food menu. Still more particularly, the present invention relates to a method, system and program for specifying an electronic menu for a particular customer from food preferences received via a personal integrated circuit.

2. Description of the Related Art

The global economy has made the business of selling more competitive than ever. Businesses that do not maximize customer satisfaction and profitability will typically not survive in today's markets. Businesses are therefore demanding tools and methods to provide their competitive edge.

In the area of food sales, maximizing customer satisfaction is particularly important to businesses. It is commonly recognized that what and when a person eats has a great impact on a person's overall health and well being. Therefore, in maximizing customer satisfaction, there has been a shift towards providing the customer with menus that provide for customer needs. For example, many menus indicate entrees for heart health conscious customers.

In addition to heart healthy selections, other factors come together for customers selecting from a menu. For example a customer may make menu selections based on personal health reasons such as diabetes, heart disease, food allergies and sensitivity to heart burn. In addition, a recovering alcoholic or one who avoids caffeine may select items that do not include these substances. In another example, a customer may select food based on philosophical reasons, such as selecting foods that are only grown organically. Alternatively, an entrée's assumed aesthetic effect on the body may effect a customer's selection depending on whether the customer is attempting to lose or gain weight. Further, religious reasons may frequently prohibit not only what can be eaten and when, but how the food is prepared.

While there have been efforts to provide more information about food on a menu, it is typically difficult to know what one is eating, when dining out or purchasing preprocessed food. Some menus now include a list of some ingredients and some waiters may know the main ingredients of dish, however finding out a list of every ingredient and preparation thereof is typically not available or there is not an efficient way for the information to be provided. Likewise, requesting actions that deviate from the norm are often miscommunicated enroute to the cooking/preparation staff. For example, requesting that an ingredient, like onions, be removed.

Another difficulty in purchasing food for some can be the way that a menu is provided. For example, seeing-impaired customers typically have difficulty reading a menu in restaurants and other food venues. In addition, when in a foreign country, menus in a language understood by the customer may not be available. Moreover, when in a foreign country converting currency to determine the relative expense of an item in one's typical currency can be time consuming.

Therefore, in view of the aforementioned, it would be preferable to provide a method for customers to easily attain a list of menu items which meet their ordering criteria and menu items which do not meet their ordering criteria. In addition, it would be preferable to provide a method for cooking/preparation staff to receive customer's orders with any special requests in an efficient manner. Further, it would be preferable to provide a method for rendering a menu such it is easily understandable according to a customer's preferences.

SUMMARY OF THE INVENTION

In view of the foregoing, it is therefore an object of the present invention to provide an improved method, system and program for presenting a food menu electronically.

It is another object of the present invention to provide a method, system and program for efficiently specifying an electronic food menu.

It is yet another object of the present invention to provide a method, system and program for specifying an electronic menu for a particular customer from food preferences received via a personal integrated circuit.

In accordance with the method, system and program of the present invention, food preferences for a particular customer are retrieved from a personal storage device, wherein the personal storage device is proffered from the particular customer. The food preferences for the particular customer are compared with multiple previously stored food menu items. A food menu is selected wherein the food menu items that satisfy the food preferences for the particular customer are distinguished, such that an electronic food menu is specified for a particular customer.

All objects, features, and advantages of the present invention will become apparent in the following detailed written description.

DESCRIPTION OF THE DRAWINGS

The invention itself, as well as a preferred mode of use, further objects, and advantages thereof, will best be understood by reference to the following detailed description of an illustrative embodiment when read in conjunction with the accompanying drawings, wherein:

FIG. 1 depicts a block diagram of a typical computer system that may utilize a preferred embodiment of the present invention;

FIG. 2 illustrates a system for selecting an electronic food menu in accordance with the method and system of a preferred embodiment of the present invention;

FIG. 3 depicts multiple types of computer systems which may be utilized to specify an electronic food menu in accordance with the method an system of the present invention;

FIG. 4 illustrates a block diagram of a storage structure for food menu items in accordance with the method and system of the present invention;

FIG. 5 depicts a block diagram of a storage structure for a selection of food preferences in accordance with the method and system of the present invention;

FIGS. 6a-6 c illustrate a graphical representation of specialized electronic food menus in accordance with the method and system of the present invention;

FIG. 7 depicts a high level logic flowchart of a process for specializing an electronic food menu for a particular customer in accordance with the method and system of the present invention;

FIG. 8 illustrates a high level logic flowchart of a process for placing a food order in accordance with the method and system of the present invention;

FIG. 9 depicts a high level logic flowchart of a process for presenting electronic coupons;

FIG. 10 illustrates an illustrative block diagram of a just-in-time restaurant system utilizing the method and system of the present invention; and

FIG. 11 depicts an illustrative block diagram of a restaurant table ordering system utilizing the method and system of the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

The present invention may be executed in a variety of systems, including a variety of computers under a number of different operating systems. The computer may be, for example, a personal computer, a personal digital assistant, a network computer, a midrange computer or a mainframe computer. In addition, the computer may be a stand-alone system or part of a network such as a local-area network (LAN) or a wide-area network (WAN). Therefore, in general, the present invention is preferably executed in a computing device that performs computing tasks such as manipulating data in storage that is accessible to the computing device. In addition, the computing device preferably includes at least one output device and at least one input device.

Referring now to the drawings and in particular to FIG. 1, there is depicted a block diagram of a typical computer system that may utilize a preferred embodiment of the present invention. As shown, a processor (CPU) 12, a read-only memory (ROM) 13, and a Random-Access Memory (RAM) 14 are connected to a system bus 11 of a computer system 10. CPU 12, ROM 13, and RAM 14 are also coupled to a PCI local bus 20 of computer system 10 through a PCI host bridge 16. PCI host bridge 16 provides a low latency path through which processor 12 may directly access PCI devices mapped anywhere within bus memory and/or I/O address spaces. PCI host bridge 16 also provides a high bandwidth path for allowing PCI devices to directly access RAM 14.

Also attaching to PCI local bus 20 are communications adapter 15, small computer system interface (SCSI) 18, and expansion bus bridge 29. In the present embodiment, communications adapter 15 is for connecting computer system 10 to a network 17. In alternate embodiments, communications adapter 15 may provide for communicating via wireless transmissions, including but not limited to, radio frequency (RF) transmissions or infrared transmissions.

SCSI 18 is utilized to control high-speed SCSI disk drive 19. Alternatively, other types of data storage medium may be utilized. Expansion bus bridge 29, such as a PCI-to-ISA bus bridge, may be utilized for coupling ISA bus 25 to PCI local bus 20. As shown, a keyboard 26 and a mouse 28 are attached to ISA bus 25 for performing certain basic I/O functions. In addition, an audio adapter 23 is attached to PCI local bus 20 for controlling audio output through speaker 24. A graphics adapter 21 is also attached to PCI local bus 20 for controlling visual output through display monitor 22. In alternate embodiments of the present invention, additional peripheral components may be added. For example, in alternate embodiments, a tactile display component may be provided.

Computer system 10 also preferably includes an interface such as a graphical user interface (GUI) and an operating system (OS) that reside within machine readable media to direct the operation of computer system 10. Any suitable machine-readable media may retain the GUI and OS, such as RAM 14, ROM 13, SCSI disk drive 19, and other disk and/or tape drive(e.g. magnetic diskette, magnetic tape, CD-ROM, optical disk, or other suitable storage media). Any suitable GUI and OS may direct CPU 12. For example, the AIX operating system is one of IBM's operating systems which may be implemented.

Further, computer system 10 preferably includes at least one software application (e.g. program product) that resides within machine readable media, for example menu specification application 9 in RAM 14. A software application contains instructions that when executed on CPU 12 carry out the operations depicted in the flowcharts of FIG. 7, FIG. 8, and others described herein.

With reference now to FIG. 2, there is depicted a system for selecting an electronic food menu in accordance with the method and system of a preferred embodiment of the present invention. As depicted, a data storage medium 40 comprises a database of food menu items 42. Preferably the database of food menu items 42 comprises multiple food menu names with descriptions, prices, ingredients, ingredient quantities, preparation techniques and other food/health data for each food menu item.

In accordance with the present invention, a computer system 10 accesses data storage medium 40. In the present embodiment, data storage medium 40 is internally accessible by data storage medium 40, however in alternate embodiments data storage medium 40 may be externally or remotely accessible by computer system 10 via a communications medium. Computer system 10 also accesses personal storage device I/O adapter 44 via a communications medium. The communications medium may comprise wireless communications, network communications, a socket connection or other communication media that enables transmission of data to and from computer system 10. Wireless RF communications are preferably supported by the Bluetooth or other RF transmission specification.

Data exchange across the communications medium is preferably supported by a data transmission protocol such as extensible mark-up language (XML). In addition, a data translation file such as a document type definition (DTD) or schema is preferably provided to validate and translate the XML data. Moreover, a style sheet such as an XSL file is preferably utilized to provide a display specification for the XML data. In addition, a web page or other network graphical interface may be accessed in order to access the XML data. For example, a particular restaurant may provide a web page for accessing the XML encoded data that includes food menu items 42 and other data.

I/O adapter 44 preferably reads from and writes to a personal storage device (PSD) 48. PSD 48 preferably includes stored food preferences 46 that are specified for a single customer or multiple customers. Food preferences 46 may include a specified price range for meals, ingredients to avoid, current medications, preparation preferences and selections of other health and food preferences such as a preference for heart smart meals. PSD 48 preferably includes, but is not limited to including, a data storage medium, an encryption medium and a processor. Food preferences 46 and other data stored on PSD 48 are preferably efficiently stored in a particular data transmission protocol such as XML.

PSD 48 may include multiple types of personal data, including food preferences 46 and output preferences 47. Alternatively, a particular restaurant or restaurants may provide a method for customers to input food preferences and be provided a PSD 48 that includes those food preferences for use specifically at that restaurant or a chain of related restaurants. In addition, multiple levels of data security may be specified for each set of food preferences 46 stored on PSD 48 and for PSD 48 overall. For example, a shield from personal data stored with food preferences 46 such as a name, phone number, address, etc. may be shielded from transmittal and access.

According to the method and system of the preferred embodiment, computer system 10 retrieves food menu items 42 from data storage medium 40, retrieves food preferences 46 from PSD 48, compares food menu items 42 with food preferences 46, and selects a food menu wherein those food menu items which satisfy food preferences 46 are designated. Computer system 10 then outputs the specified electronic food menu.

In some cases, food menu items that do not satisfy food preferences 46 may be able to satisfy food preferences 46 if a particular ingredient or ingredients are removed or if a replacement ingredient is utilized. For example, at a restaurant that serves chocolate milkshakes, a customer that specifies no caffeine in their food preferences would receive a specified electronic food menu where caffeine would be shown as the reason the food menu item does not satisfy their food preferences. In addition, the electronic food menu would show specifically that the chocolate syrup in the food menu item contains the caffeine. The customer may then order the chocolate milkshake with an indication not to add chocolate syrup. In the same example, the chocolate milkshake may be made with 2% milk that has a greater amount of fat per serving than the food preferences for the customer allow. The specified electronic food menu would indicate that the milkshake does not satisfy the food preferences because of the fat content of the milk.

The customer may then request that skim milk be utilized in making the milkshake instead of 2% milk.

Preferably, as a customer removes or substitutes ingredients, the overall dietary value of a food menu item is recalculated and other fields are updated in order that the food menu item can be compared with the food preferences again and the specified electronic food menu updated. In addition, as the customer selects food menu items, an overall dietary value of the food menu items selected is preferably calculated.

The specified electronic food menu may be output to multiple peripherals. Examples of peripherals may include, but are not limited to a graphical display, a touch-screen, an audio speaker, a tactile-detectable device, or a printer. In addition, PSD 48 may include output preferences 47 that are specified for a single customer or multiple customers. Output preferences 47 may include, but are not limited to specifications such as the size of font in a graphical display, the type of tactile-detectable output (e.g. Braille), the language, or the currency. The specified electronic food menu is preferably output in accordance with any output preferences 47.

In addition, the values displayed for the specified electronic food menu may be rendered in multiple formats as specified in output preferences 47. For example, only those items that are satisfy food preferences may be displayed. Alternatively, all food menu items are displayed, but those items that do not satisfy food preferences are indicated graphically. In addition, under those items that do not satisfy food preferences, ingredients that do not satisfy food preferences may be graphically distinguished. Alternatively, food menu items may be displayed in a sequential format where the best selection is displayed first and the worst selection is displayed last. In addition, alternative coloring and highlights may be utilized to distinguish food menu items. For example, all food menu items that are designated are highlighted in bright green and those food menu items that are not designated are highlighted in bright red. Moreover, additional information about ingredients and other food and health related data may be available if designated by output preferences 47.

The specified electronic food menu may include designations of daily specials, such as the Monday special. In addition to graphically distinguishing specials, daily specials may be automatically added to an electronic calendar 33 enabled from PSD 48 on a data processing system accessing PSD 48. In the example of the Monday special, electronic calendar 33 can provide a reminder of the Monday special each Monday. Moreover, along with food menu items 42, coupon items and special offers may be included with food menu items 42. For example, a coupon that is available for use during that restaurant visit or another may be designated with food menu items 42 and displayed. If not utilized during that visit, the coupon can be stored on PSD 48 and utilized for a subsequent visit. Coupons may be filtered based on food preferences 46, such as an age-related coupon. Alternatively, calendar based coupons may be transmitted to PSD 48. For example, a coupon that can be utilized on a particular Thursday when four or more dine may be transmitted to electronic calendar 33 on PSD 48.

After displaying the specified electronic food menu, computer system 10 may receive input designating an order from the particular customer from the specified electronic food menu. In addition, the customer may designate a credit card number or other electronic payment data. Preferably, the electronic money payment data is included on PSD 48. Computer system 10 requests validation of the electronic money payment, as is well known in the art. If approved, computer system 10 attaches any special instructions that are designated in food preferences 46 and transmits the food order to an order queue 37 wherefrom a kitchen staff can access the order. The order queue may adjust waiting for orders by individual food preferences, group food preferences and other criteria. For example, the order queue may adjust waiting for orders based on the frequency that a customer orders from the restaurant or on the number of people in a party. While in the present embodiment order queue 37 is included in data storage medium 40, in alternate embodiments, order queue 37 may be externally or remotely accessible by data storage medium 40 or stored in an alternate data storage medium.

Data storage medium 40 is preferably enabled to retrieve and store customer food preferences in a customer preference database 38. By gathering food preferences of customers ordering from a menu, a restaurant may utilize the data to adjust their menu to meet customer needs and preferences. Moreover, in knowing customer preferences, coupons and food menu items that are transmitted to the customer may be customized. For example, if a particular customer always orders two drinks, two sandwiches and two cookies, a special coupon may be transmitted to computer system 10 when that customer's ID is detected that gives a discount for ordering two drinks, two sandwiches and two cookies. In another example, the number of coffees a particular customer has purchased at a particular coffee shop may be recorded such that on the 10^(th) cup the customer receives a free coffee.

In addition, PSD 48 is preferably enabled to store specified electronic food menus 45 and specialized food orders 49 such that the menus can be recalled and reused at a later time and orders can be queued off-line. For example, if a family of four is planning which restaurant to eat at, a data processing system with access to the electronic food menus stored on PSD 48 can compare those electronic food menus with the food preferences for each member of the family from each of their PSDs. The restaurant or restaurants that include food menu items that are suitable for all members of the family are designated by the data processing system. In addition, any stored coupons for those restaurants may be indicated. Moreover, each member of the family may determine an order from the specified electronic food menu and queue the orders on PSD 48. When PSD 48 is read at the restaurant, the queued orders are sent to order queue 37.

In addition, a restaurant menu may be accessed on-line by computer system 10. A specified electronic food menu may be determined based on food preferences 46 from PSD 48. In addition, an order of food menu items from the specified electronic food menu may be selected. The food order is queued on PSD 48 at customer order 49 such that the order can be automatically placed at the restaurant. Alternatively, the food order may be placed on-line where the customer presents PSD 48 upon arriving at the restaurant in order to consummate the purchase. This function is particularly useful for a parent restricting the eating of their child. The parent may select food menu items that the child may order at various restaurants or the school cafeteria from on-line access to the restaurant menus. These specified orders are queued for ordering when PSD 48 is presented at one of those restaurants. This function is also particularly useful for creating a diet plan where food preference regulated meals from selected restaurants can be queued on PSD 48 such that the customer automatically orders a meal on their diet plan at the selected restaurants. In an alternate example, a group of co-workers may each specify an order from a particular restaurant's menu accessed on-line and queue the orders with their electronic payment data on PSD 48. Upon arriving at the restaurant, the queued orders can be automatically retrieved from PSD 48 and transmitted to order queue 37. In addition, concurrent with transmitting the order, electronic payment data is transmitted.

Referring now to FIG. 3, there are illustrated multiple types of personal storage devices which may be utilized to specify an electronic food menu in accordance with the method an system of the present invention. Computer system 10 may access food preferences 46 from multiple types of personal storage devices accessible from multiple types of personal storage device I/O adapters. For example, a smart card 51 proffered from a customer preferably comprises food preferences 46. Computer system 10 accesses smart card 51 via a communications medium to a smart card reader 50. As is well known in the art, smart card 51 preferably includes a data storage medium that is enabled for read and write, a encryption medium that encrypts data in the data storage medium and a processor for performing basic functions. In addition, smart card 51 may be controlled by a java virtual machine (JVM). Moreover, exchange of data may be supported in a protocol such as XML.

In another example, an ibutton 53 (or java ring) proffered from a customer preferably comprises food preferences 46. Computer system 10 accesses ibutton 53 via communications medium to an ibutton receptor 52. Currently, an ibutton is an information carrier that typically comprises a computer chip that is 16mm or less armored in a stainless steel can. Multiple versions of ibuttons have differing amounts of memory and cryptography capability. To read/write to an ibutton, it is pressed into an ibutton receptor 52 such as a Blue Dot receptor. In addition, an ibutton may be controlled by a JVM.

In yet another example, a dumb terminal 54 provides graphical prompts for a customer to input food preferences such that the customer input food preferences are accessible to computer system 10 via a communications medium. As is well known in the art, dumb terminal 54 may comprise a data processing system with a display device and input device, such as a keyboard and mouse. However, dumb terminal 54 is a shell controlled by a more powerful data processing system, such as computer system 10, for processing and storage.

In still another example, a personal storage device reader is included in an electronic book (e-Book) 56. As is well known in the art, e-book 56 includes a foldable LCD screen that is portable, able to display data and has some input/output capabilities. E-book 56 preferably reads food preferences from PSD 48 and transmits the food preferences to computer system 10 via a communications medium. Computer system 10 preferably returns a specified electronic food menu to e-book 56 via the communications medium. E-book 56 displays the specified electronic food menu.

With reference now to FIG. 4, there is illustrated a block diagram of a storage structure for food menu items in accordance with the present invention. As depicted, the food menu items corresponding to a menus from restaurants “1” and “2” are preferably stored in a data storage structure such as database 60. The example database 60 is provided in order to depict a selection of fields 62 which may be included in a data storage structure that is filterable. For the purposes of example, food menu items have been entered for rows 64, 66 and 68. In alternate embodiments, alternate selections of fields for defining food and health data for food menu items may be utilized. In addition, alternate types of data storage structures and methods may be utilized. Further, while not depicted, a graphical interface for entering a selection of fields 62 and food menu items is preferably provided.

As depicted in FIG. 4, fields 62 include multiple fields. For example, a menu number field designates to which menu an item belongs such that multiple menus may be included within a single data storage structure. Next, an item name field provides the name of an item. A price field provides the price of the item. A type of currency field designates the currency that the price is list in. A description field may provide a textual description of the menu item. Fields such as the heart smart field designate overall ratings of the food menu item. An overall dietary daily values field includes a breakdown of the serving size, calories, fat contents, carbohydrates, protein, sodium, vitamins and other dietary values.

An ingredients field provides a list of all ingredients utilized in the preparation of a menu item. In addition, the amounts of each ingredient are designated. Further, additional ingredients making up each ingredient may be included. For example, the ingredients that are utilized to produce brandy may be listed. Additionally, fields are included for designating whether or not an ingredient contains alcohol or caffeine, utilizes organically grown and/or free range products, is prepared kosher or is a vegan-friendly ingredient. In addition, the dietary daily value breakdown for each ingredient is provided. For example, the number of calories provided by ½ lb. of chicken is distinguished. Additional ratings fields for each ingredient may be provided.

Referring now to FIG. 5, there is depicted a block diagram of a storage structure for a selection of food preferences in accordance with the present invention. As illustrated, the data corresponding to a selection of food preferences is preferably stored in a data storage structure such as database 70. The example database 70 is provided in order to depict a selection of fields 72 which may be included in a data storage structure. For the purposes of example, food preferences have been entered for rows 74 and 76. In alternate embodiments, alternate selections of fields for food preferences may be utilized. In addition, alternate types of data storage structures and methods may be utilized. Further, while not depicted, a graphical interface for entering a selection of fields 72 and food preferences is preferably provided by a data processing system such as computer system 10.

As illustrated in FIG. 5, fields 72 include multiple fields that are utilized for filtering a food menu. For example, a user field designates the user of the specifications for a row such that preferences for multiple users may be included. Next, an age field designates the age of each user. The age of the user is preferably automatically incremented from the user's birthdate. The price range field includes price range limits. Price range limits may be set by the user, or may be set automatically by a money management application that tracks the customer's available resources and budgetary constraints. Alternatively, a user may designate a particular price range of breakfasts, lunches and dinners. In addition, the user may designate a particular price range depending on who the user is dining with. A currency preference field designates in which currency the user would prefer to see prices listed. Further a special instructions field may include other special instructions that the user designates.

Food and health-preferences of the user are also included in field 72. Ingredients to avoid field includes ingredients which the user does not want included. Preparation preferences field designates any preparation preferences that the user desires. Health rating preferences field includes he multiple fields including alcohol preference, caffeine preference, heart smart meal preference, organic product preference, kosher preparation preference, protein preference, fat preference, calone preference. Protein preference, fat preferences and calorie preference may be fields that are set by the user or alternatively may be set by a food monitoring program that controls the amount of protein, fat and calories that a user consumes daily.

In addition, a user may designate the level of security that is desired with the data for each user ID. For example, a security preference may block a user ID from being accessed. In another example, a security preference may designate who can access the food preferences and how long the data can be held in an alternate data storage device. As is well known in the art, other types of data security may be designated by the user to protect their food preference data.

With reference now to FIGS. 6a-6 c, there is depicted graphical representation of a specialized electronic food menu according to the method and system of a preferred embodiment of the present invention. In the examples, the specialized electronic food menu is determined by food preferences for user 1. Food preferences for user 1 are depicted at row 74 of FIG. 5 and have preferably been previously stored in a manner that is accessible to computer system 10. In comparing the food menu items illustrated at rows 64 and 66 of FIG. 4 with the user preferences for user 1, “Dish 1” is selected from the menu items.

Referring to FIG. 6a, a graphical display 80 includes a graphical representation 82 of a specialized electronic food menu, wherein graphical representation 82 depicts only the menu items that are selected. In the present example, only Dish 1 meets the customer's food preferences. With reference to FIG. 6b, a graphical display 92 includes a graphical representation 94 of a specialized electronic food menu, wherein graphical representation 94 illustrates all the menu items, however the menu items that are not selected are flagged. In the example, Dessert 1 and App 1 are flagged as not meeting the customer's food preferences. In addition, a description and price of the flagged items is not included. However, in alternate embodiments, the description and price of flagged items may be included. Referring to FIG. 6c, a graphical display 96 includes a graphical representation 98 of a specialized electronic food menu. In the example, an output preferences for user 1 specifies output in a large font size. Therefore, graphical representation 98 illustrates the specialized menu at a particular large font size. Preferably, the user can specify a font size or a range of font sizes for the text of a specialized food menu.

In both embodiments depicted, a user may select the scroll bar 88 in order to scroll through the menu for user 1 utilizing pointing indicator 90. In addition, the user may select from buttons 84 and 86 to perform functions such as placing an order or switching user preferences. In alternate embodiments, alternate types of graphical displays may be provided. In addition, the display is preferably adjusted according to any user display preferences, as previously described. Further, as previously described, while a graphical representation of a specialized electronic food menu is displayed utilizing one rendering method, other rendering methods may be utilized.

Referring now to FIG. 7, there is illustrated a high level logic flowchart of a process for specializing an electronic food menu for a particular customer in accordance with the method and system of the present invention. As depicted, the process starts at block 100 and thereafter proceeds to block 101. Block 101 depicts a determination as to whether or not new queued orders are received for that restaurant. Queued orders are received, the process passes to block 134 of FIG. 8. If no queued orders are received, the process passes to block 102. Block 102 illustrates a determination as to whether new food preferences are received from the personal storage device I/O adapter. If new food preferences are not received, the process passes to block 101. If new food preferences are received, the process passes to block 104. Block 104 depicts setting the current item to the first food menu item. Next, block 106 illustrates comparing the current item with the food preferences. Thereafter, block 108 depicts a determination as to whether the current item satisfies the food preferences. If the current item does not satisfy the food preferences, the process passes to block 109. Block 109 illustrates designating the ingredients that do not satisfy the food preferences. Next, block 111 depicts determining substitute ingredients for those ingredients that do not satisfy the food preferences. The restaurant may provide a list of substitute ingredients with the food menu items or the PSD may include a list of substitute ingredients. If the current item does satisfy the food preferences, the process passes to block 110. Block 110 illustrates designating the current item as a selected food menu item. Thereafter, the process passes to block 112.

Block 112 depicts a determination as to whether any food menu items remain. If food menu items do not remain, the process passes to block 116. If food menu items do remain, the process passes to block 114. Block 114 illustrates setting the current item to the next food menu item. Thereafter, the process passes to block 106.

Block 116 depicts a determination as to whether any output preferences are received. If no output preferences are indicated, the process passes to block 118. Block 118 illustrates setting the output mode to a generic graphical display. Thereafter, the process passes to block 122. Returning to block 116, if output preferences are indicated, the process passes to block 120. Block 120 depicts setting the output mode to the user output preferences. Thereafter, block 122 illustrates outputting the food menu in the output mode, wherein food menu items that satisfy food preferences for the particular customer are designated. Thereafter, the process ends. As previously described, output preferences may include the color, sequence, size and other graphical distinctions. In addition, output preferences may designate displaying only those food menu items that satisfy user preferences. Moreover, output preferences may indicate what informational data a user wants with the food menu items.

With reference now to FIG. 8, there is depicted a high level logic flowchart of a process for placing a food order. As illustrated, the process starts at block 130 and thereafter proceeds to block 132. Block 132 depicts a determination as to whether a request to place an order is made. If a request to place an order is not made, the process iterates at block 132. If a request to place an order is made, the process passes to block 134. Block 134 illustrates detecting food menu items that are selected by the user. Next, block 142 depicts calculating a price for the order with adjustment for any electronic coupons being redeemed. Thereafter, block 144 illustrates transmitting electronic payment data. Next, block 146 depicts a determination as to whether payment authorization is received. If payment authorization is not received, the process passes to block 148. Block 148 illustrates outputting an error message and then the process ends. If payment authorization is received, the process passes to block 136.

Block 136 depicts attaching special requests to the food menu items selected by the user. Thereafter, block 138 illustrates converting the food menu items selected by the user into a transmittable format. Next, block 140 depicts transmitting the converted food menu items selected by the user to an order queue. Thereafter, the process ends. While one embodiment of a process for placing a food order is depicted, alternate processes may be utilized for placing food orders wherein users select from the specialized electronic food menu and that selection is transmitted to an order queue or other order system.

Referring now to FIG. 9, there is illustrated a high level logic flowchart of a process for presenting electronic coupons. As depicted, the process starts at block 150 and thereafter proceeds to block 152. Block 152 illustrates a determination as to whether any electronic coupons are received with the food menu items. Thereafter, block 153 depicts filtering the electronic coupons according to food preferences. Next, block 154 illustrates a determination as to whether any calendar based electronic coupons are received. If calendar based electronic coupons are received, the process passes to block 158. Block 158 depicts updating an electronic calendar on the PSD with the calendar based electronic coupons and the process passes to block 156. Block 156 illustrates updating the graphical display with any noncalendar based electronic coupons and the process ends.

In addition, other non-calendar based coupons may be stored on the PSD.

With reference now to FIG. 10, there is depicted an illustrative block diagram of a just-in-time restaurant system utilizing the method and system of the present invention. As depicted, a customer enters a personal storage device 160 as part of a customer entry system 168. Customer entry system 168 is preferably provided at an entrance to a restaurant. Personal storage device I/O adapter 162 reads any queued orders, food preferences, a customer ID and other customer data from personal storage device 160 and transfers the data to computer system 170 via a communication medium. Food preferences for multiple customers may be included on a single personal storage device or multiple personal storage devices. Computer system 170 adds the customer identification to a list of party members 174 that are distinguished by reservation. In addition, computer system 170 outputs a specified electronic food menu to a display monitor 166 or automatically places any queued orders for that restaurant from PSD 160 in an order queue serviced by the kitchen and pays for the meal. Alternatively, the customer selects a food order from the specified electronic food menu that is sent to the order queue serviced by the kitchen. In addition, the customer may chose to pre-pay for calculated meal price 176 with electronic payment data stored on PSD 160. Payment method 178 requests verification of the electronic payment data. In addition to specifying menus and receiving orders, computer system 170 preferably tracks tables and reservations 172. Since the user places an order prior to being seated, tables and orders are preferably coordinated in order that an order is ready just-in-time when the table is ready.

Referring now to FIG. 11, there is illustrated an illustrative block diagram of a restaurant table ordering system utilizing the method and system of the present invention. In FIG. 11, the customer presents their personal storage device at their table rather than just-in-time seating as in FIG. 10. Therefore, food preferences for a single customer or multiple customers may be received at tables 200 a-200 n. The chair that the customer is sitting in may be designated when food preferences are received. The customer food preferences are transmitted to computer system 170 where a specified electronic food menu for each table is determined. In addition, a specified food menu for each customer at each table may be determined. As described in FIG. 10, receivers 192 a-192 n output the specified electronic food menus via menu output devices 194 a-194 n. Output devices 194 a-194 n may comprise stationary display monitors, or portable display devices such as a foldable LCD (e-book). The customer can then order from tables 200 a-200 n and the order is sent to computer system 170. In addition, the meal price is transmitted to receivers 192 a-192 n for the appropriate table and the customer can decide a payment method that is transmitted back to computer system 170. While two embodiments of restaurant systems utilizing the method and system of the present invention are depicted, other restaurant systems utilizing the method and system of the present invention may also be implemented, as will be understood by one known in the art.

It is important to note that, although the present invention has been described in the context of a fully functional computer system, those skilled in the art will appreciate that the mechanisms of the present invention are capable of being distributed as a program product in a variety of forms, and that the present invention applies equally regardless of the particular type of signal-bearing media utilized to actually carry out the distribution. Examples of signal-bearing media include, but are not limited to, recordable-type media such as floppy disks or CD-ROMs and transmission-type media such as analogue or digital communications links.

While the invention has been particularly shown and described with reference to a preferred embodiment, it will be understood by those skilled in the art that various changes in form and detail may be made therein without departing from the spirit and scope of the invention. 

What is claimed is:
 1. A method for specifying an electronic food menu, said method comprising the steps of: retrieving food preferences for a particular customer from a personal storage device carried by said particular customer, wherein said personal storage device is proffered from said particular customer; comparing said food preferences for said particular customer with a plurality of previously stored food menu items; presenting a food menu, wherein a plurality of food menu items that satisfy said food preferences for said particular customer are designated, such that an electronic food menu is specified for a said particular customer; and graphically displaying said electronic food menu, wherein a plurality of food menu items that do not satisfy said food preferences for said particular customer are graphically distinguishable from said plurality of food menu items that do satisfy said food preferences for said particular customer.
 2. The method for specifying an electronic food menu according to claim 1, said method further comprising the step of: graphically displaying said electronic food menu according to a output preference for said particular customer, such that the graphical representation of said electronic food menu is provided to accommodate a display preference for said particular customer.
 3. The method for specifying an electronic food menu according to claim 2, said step of graphically displaying said electronic food menu further comprising the step of: graphically displaying only said plurality of food menu items of said electronic food menu that are designated.
 4. The method for specifying an electronic food menu according to claim 2, said step of graphically displaying said electronic food menu further comprising the step of: graphically displaying said electronic food menu in order from designated food menu items to non-designated food menu items.
 5. The method for specifying an electronic food menu according to claim 2, said step of graphically displaying said electronic food menu further comprising the step of: graphically displaying a tactile-detectable graphical representation of said electronic food menu, wherein said output preference for said particular customer designates a tactile-detectable graphical representation.
 6. The method for specifying an electronic food menu according to claim 2, said step of graphically displaying said electronic food menu further comprising the step of: graphically displaying a graphical representation of said electronic food menu utilizing a particular font size, wherein said output preference for said particular customer designates said particular font size.
 7. The method for specifying an electronic food menu according to claim 2, said step of graphically displaying said electronic food menu further comprising the step of: graphically displaying a graphical representation of said electronic food menu utilizing a particular language, wherein said output preference for said particular customer designates said particular language.
 8. The method for specifying an electronic food menu according to claim 2, said step of graphically displaying said electronic food menu further comprising the step of: graphically displaying a graphical representation of said electronic food menu wherein prices are displayed in a particular currency, wherein said output preference for said particular customer designates said particular currency.
 9. The method for specifying an electronic food menu according to claim 1, said method further comprising the step of: transmitting auditory output of said electronic food menu for said particular customer.
 10. The method for specifying an electronic food menu according to claim 1, said method further comprising the step of: graphically displaying said electronic food menu according to a generic style sheet.
 11. The method for specifying an electronic food menu according to claim 1, said step of retrieving food preferences for a particular customer from a personal storage device, further comprising the step of: receiving said food preferences from a smart card.
 12. The method for specifying an electronic food menu according to claim 1, said step of retrieving food preferences for a particular customer from a personal storage device, further comprising the step of: receiving said food preferences from a java ring.
 13. The method for specifying an electronic food menu according to claim 1, said step of retrieving food preferences for a particular customer from a personal storage device, further comprising the step of: receiving said food preferences from user input to a dumb terminal.
 14. The method for specifying an electronic food menu according to claim 1, said step of retrieving food preferences for a particular customer from a personal storage device, further comprising the step of: receiving said food preferences via a wireless connection to a device that reads said personal storage device.
 15. The method for specifying an electronic food menu according to claim 1, said step of comparing further comprising the step of: first, receiving said plurality of food menu items in a data transmission protocol.
 16. The method for specifying an electronic food menu according to claim 1, said step of comparing further comprising the step of: first, transmitting said food menu items in an extensible markup language protocol.
 17. The method for specifying an electronic food menu according to claim 1, said step of retrieving food preferences for a particular customer from a personal storage device, further comprising the step of: receiving said food preferences via a wired connection to a device that reads said personal storage device.
 18. The method for specifying an electronic food menu according to claim 1, said step of comparing said food preferences for said particular customer with a plurality of previously stored food menu items, further comprising the step of: accessing said plurality of previously stored food menu items from a database, wherein each of said plurality of food menu items comprises a plurality of food and health identifiers.
 19. The method for specifying an electronic food menu according to claim 1, said method further comprising the step of: storing said electronic food menu on said personal storage device.
 20. The method for specifying an electronic food menu according to claim 1, said method further comprising the step of: storing said food preferences for said particular customer at a data storage medium.
 21. The method for specifying an electronic food menu according to claim 20, said method further comprising the step of: determining electronic coupons to provide a particular customer from said stored food preferences.
 22. The method for specifying an electronic food menu according to claim 1, said method further comprising the steps of: receiving an order from said particular customer for food menu items from said electronic food menu; and transmitting said order to an order retrieval system.
 23. The method for specifying an electronic food menu according to claim 22, said method further comprising the step of: confirming electronic payment for said order.
 24. The method for specifying an electronic food menu according to claim 1, said method further comprising the step of: updating an electronic calendar on said personal storage device with said designated food menu items that are specified in said food preferences for a particular time period.
 25. The method for specifying an electronic food menu according to claim 1, said method further comprising the step of: receiving electronic coupons for said plurality of food menu items from said data storage medium.
 26. The method for specifying an electronic food menu according to claim 25, said method further comprising the step of; filtering said electronic coupons that are displayed to a particular customer according to said food preferences.
 27. The method for specifying an electronic food menu according to claim 1, said method further comprising the step of: designating those food menu items that do not meet said food preferences.
 28. The method for specifying an electronic food menu according to claim 1, wherein said previously stored food preferences includes health rating preferences for said particular customer.
 29. The method for specifying an electronic food menu according to claim 1, wherein said previously stored food preferences includes attributes of specified allowable ingredients and specified avoided ingredients for said particular customer.
 30. A system for specifying an electronic food menu, said system comprising: a personal storage device comprising food preferences for a particular customer; a data processing system enabled to access said personal storage device; a graphical display monitor for displaying said electronic food menu such that a plurality of food menu items that do not satisfy said previously stored food preferences for said particular customer are graphically distinguishable from a plurality of food menu items that do satisfy said previously stored food preferences for said particular customer; said data processing system comprising: a communications medium for retrieving said previously stored food preferences for said particular customer from said personal storage device carried by said customer, wherein said personal storage device is proffered from said particular customer; means for comparing said previously stored food preferences for said particular customer with a plurality of previously stored food menu items; and means for presenting a food menu, wherein said plurality of food menu items that satisfy said previously stored food preferences for said particular customer are designated, such that an electronic food menu is specified for a particular customer.
 31. The system for specifying an electronic food menu according to claim 30, said system further comprising: a graphical display monitor for displaying said electronic food menu according to an output preference for said particular customer, such that the graphical representation of said food menu is provided to accommodate a display preference of said particular customer.
 32. The system for specifying an electronic food menu according to claim 31, wherein said graphical display monitor only displays said plurality of food menu items of said electronic food menu that are designated.
 33. The system for specifying an electronic food menu according to claim 31, wherein said graphical display monitor displays said electronic food menu items in order from designated food menu items to non-designated food menu items.
 34. The system for specifying an electronic food menu according to claim 31, wherein said graphical display monitor displays a tactile-detectable graphical representation of said electronic food menu.
 35. The system for specifying an electronic food menu according to claim 31, wherein said graphical display monitor displays a graphical representation of said electronic food menu utilizing a particular font size.
 36. The system for specifying an electronic food menu according to claim 31, wherein said graphical display monitor displays a graphical representation of said electronic food menu utilizing a particular language.
 37. The system for specifying an electronic food menu according to claim 31, wherein said graphical display monitor displays a graphical representation of said electronic food menu wherein said prices are depicted utilizing a particular currency.
 38. The system for specifying an electronic food menu according to claim 30, said system further comprising an audio element for transmitting auditory output of said electronic food menu for said particular customer.
 39. The system for specifying an electronic food menu according to claim 30, said system further comprising a printing element for graphically printing said electronic food menu for said particular customer.
 40. The system for specifying an electronic food menu according to claim 31, said system further comprising: a graphical display monitor for displaying a graphical representation of said electronic food menu according to a generic style sheet.
 41. The system for specifying an electronic food menu according to claim 30, wherein said communications medium for retrieving said previously stored food preferences for said particular customer from said personal storage device, further comprises: a personal storage device input/output adapter accessible by said data processing system.
 42. The system for specifying an electronic food menu according to claim 41, wherein said personal storage device further comprises a smart card reader.
 43. The system for specifying an electronic food menu according to claim 41, wherein said personal storage device further comprises a java adapter.
 44. The system for specifying an electronic food menu according to claim 41, wherein data transmission between said personal integrated circuit input/output adapter and said data processing system is a wireless transmission.
 45. The system for specifying an electronic food menu according to claim 30, wherein said personal storage device further comprises a smart card.
 46. The system for specifying an electronic food menu according to claim 30, wherein said personal storage device further comprises a java ring.
 47. The system for specifying an electronic food menu according to claim 30, wherein said personal storage device further comprises a dumb terminal.
 48. The system for specifying an electronic food menu according to claim 30, wherein said communication element further comprises a wireless transmission medium.
 49. The system for specifying an electronic food menu according to claim 30, wherein said plurality of previously stored food menu items are accessible from a database, wherein each of said plurality of food menu items comprises food and health identifiers.
 50. The system for specifying an electronic food menu according to claim 23, wherein said system further comprises: means for storing said electronic food menu on said personal storage device.
 51. The system for specifying an electronic food menu according to claim 30, said system further comprising: means for accumulating said previously stored food preferences for said particular customer at a data storage medium.
 52. The system for specifying an electronic food menu according to claim 31, wherein said data processing system transmits an order from said particular customer of a customer selection of food menu items from said electronic food menu.
 53. The system for specifying an electronic food menu according to claim 52, wherein said data processing system request confirmation of an electronic payment for said order.
 54. The system for specifying an electronic food menu according to claim 52, wherein said personal storage device further comprises an electronic calendar that is updated with food menu items that are designated for a particular time period.
 55. The system for specifying an electronic food menu according to claim 34, wherein said data processing system further comprises: means for comparing said plurality of food menu items with a plurality of previously stored food preferences for a plurality of customers; and means for selecting a food menu wherein said plurality of food menu items that satisfy said previously stored food preferences for said plurality of customers are distinguished, such that an electronic food menu is specified for said plurality of customers.
 56. The system for specifying an electronic food menu according to claim 30, said system further comprising: means for designating those food menu items that do not meet said food preferences.
 57. The system for specifying an electronic food menu according to claim 30, wherein said previously stored food preferences includes health rating preferences for said particular customer.
 58. The system for specifying an electronic food menu according to claim 30, wherein said previously stored food preferences includes attributes of specified allowable ingredients and specified avoided ingredients for said particular customer.
 59. A program, residing on a computer usable medium having computer readable program code means, said program comprising: means for retrieving food preferences for a particular customer from a personal storage device carried by said particular customer, wherein said personal storage device is proffered from said particular customer; means for comparing said food preferences for said particular customer with a plurality of previously stored food menu items; means for generating an electronic food menu designating a selection of said plurality of food menu items that satisfy said food preferences for said particular customer; and means for graphically displaying said electronic food menu, wherein said plurality of food menu items that do not satisfy said food preferences for said particular customer are graphically distinguishable from said plurality of food menu items that do satisfy said food preferences for said particular customer.
 60. The program according to claim 59, said program further comprising: means for enabling a graphical display of said generated food menu for said particular customer.
 61. The program according to claim 59, said program further comprising: means for enabling said graphical display of said generated food menu according to an output preference for said particular customer.
 62. The program according to claim 59, said program further comprising: means for enabling a hyperbraille graphical representation of said generated food menu.
 63. The program according to claim 59, said program further comprising: means for enabling a graphical representation of said generated food menu utilizing a particular language.
 64. The program according to claim 59, said program further comprising: means for enabling a graphical representation of said generated food menu wherein prices are displayed in a particular currency.
 65. The program according to claim 59, said program further comprising: means for enabling auditory output of said generated food menu for said particular customer.
 66. The program according to claim 59, said program further comprising: means for enabling tactile-detectable output of said generated food menu for said particular customer.
 67. The program according to claim 59, said program further comprising: means for receiving said food preferences from a smart card.
 68. The program according to claim 59, said program further comprising: means for receiving said food preferences from a java ring.
 69. The program according to claim 59, said program further comprising: means for receiving said food preferences from user input to a dumb terminal.
 70. The program according to claim 59, said program further comprising: means for storing said electronic food menu on said personal storage device.
 71. The program according to claim 59, program further comprising: means for transmitting an order from said particular customer of a customer selection of food menu items from said electronic food menu.
 72. The program according to claim 55, said program further comprising: means for designating those food menu items that do not meet said food preferences.
 73. The program according to claim 59, wherein said previously stored food preferences includes health rating preferences for said particular customer.
 74. The program according to claim 59, wherein said previously stored food preferences includes attributes of specified allowable ingredients and specified avoided ingredients for said particular customer.
 75. A method for specifying an electronic food menu, said method comprising the steps of: retrieving food preferences for a particular customer from a personal storage device carried by said particular customer, wherein said personal storage device is proffered from said particular customer; comparing said food preferences for said particular customer with a plurality of previously stored food menu items; and presenting a food menu, wherein a plurality of food menu items that are indicated to be avoided by said previously stored food preferences for said particular customer are presented in said food menu and are designated in a manner to distinguish from other food menu items presented in said food menu, such that a customized electronic food menu is specified for a particular customer.
 76. A system for specifying an electronic food menu, said system comprising: a personal storage device comprising food preferences for a particular customer; a data processing system enabled to access said personal storage device; said data processing system comprising: a communications medium for retrieving said food preferences for said particular customer from said personal storage device carried by said customer, wherein said personal storage device is proffered from said particular customer; means for comparing said food preferences for said particular customer with a plurality of previously stored food menu items; and means for presenting a food menu, wherein a plurality of food menu items that are indicated to be avoided by said previously stored food preferences for said particular customer are presented in said food menu and are designated in a manner to distinguish from other food menu items presented in said food menu, such that a customized electronic food menu is specified for a particular customer.
 77. A program, residing on a computer usable medium having computer readable program code means, said program comprising: means for retrieving food preferences for a particular customer from a personal storage device carried by said particular customer, wherein said personal storage device is proffered from said particular customer; means for comparing said food preferences for said particular customer with a plurality of previously stored food menu items; and means for generating a food menu presenting a selection of said plurality of food menu items indicated to be avoided by said previously stored food preferences for said particular customer and a selection of said plurality of food menu items not indicated to be avoided by said previously stored food preferences for said particular customer, wherein said selection of said plurality of food menu items indicated to be avoided is designated in a manner to distinguish from said selection of said plurality of food menu items not indicated to be avoided by said previously stored food preferences for said particular customer. 